<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!-- Copyright 1997 The Open Group, All Rights Reserved -->
<title>&lt;mqueue.h&gt;</title>
</head><body bgcolor=white>
<center>
<font size=2>
The Single UNIX &reg; Specification, Version 2<br>
Copyright &copy; 1997 The Open Group

</font></center><hr size=2 noshade>
<h4><a name = "tag_000_007_790">&nbsp;</a>NAME</h4><blockquote>
mqueue.h - message queues
(<b>REALTIME</b>)
</blockquote><h4><a name = "tag_000_007_791">&nbsp;</a>SYNOPSIS</h4><blockquote>
<pre><code>

#include &lt;mqueue.h&gt;
</code>
</pre>
</blockquote><h4><a name = "tag_000_007_792">&nbsp;</a>DESCRIPTION</h4><blockquote>
The
<i>&lt;mqueue.h&gt;</i>
header defines the
<b>mqd_t</b>
type, which is used for message queue descriptors.  This will not be
an array type.  A message queue descriptor may be implemented using a
file descriptor, in which case applications can open up to at least
{OPEN_MAX} file and message queues.
<p>
The
<i>&lt;mqueue.h&gt;</i>
header defines the
<b>sigevent</b>
structure (as described in
<i><a href="signal.h.html">&lt;signal.h&gt;</a></i>)
and the 
<b>mq_attr</b>
structure, which is used in getting and setting the attributes of a
message queue.  Attributes are initially set when the message queue is
created.  A
<b>mq_attr</b>
structure will have at least the following fields:
<pre>
<code>
long    mq_flags    message queue flags
long    mq_maxmsg   maximum number of messages
long    mq_msgsize  maximum message size
long    mq_curmsgs  number of messages currently queued
</code>
</pre>
<p>
The following are declared as functions and may also be declared as
macros.
Function prototypes must be provided for use with an ISO C
compiler.
<pre>
<code>
int      <a href="mq_close.html">mq_close</a>(mqd_t);
int      <a href="mq_getattr.html">mq_getattr</a>(mqd_t, struct mq_attr *);
int      <a href="mq_notify.html">mq_notify</a>(mqd_t, const struct sigevent *);
mqd_t    <a href="mq_open.html">mq_open</a>(const char *, int, ...);
ssize_t  <a href="mq_receive.html">mq_receive</a>(mqd_t, char *, size_t, unsigned int *);
int      <a href="mq_send.html">mq_send</a>(mqd_t, const char *, size_t, unsigned int);
int      <a href="mq_setattr.html">mq_setattr</a>(mqd_t, const struct mq_attr *, struct mq_attr *);
int      <a href="mq_unlink.html">mq_unlink</a>(const char *);
</code>
</pre>
<p>
Inclusion of the
<i>&lt;mqueue.h&gt;</i>
header may make visible symbols defined in the headers
<i><a href="fcntl.h.html">&lt;fcntl.h&gt;</a></i>,
<i><a href="signal.h.html">&lt;signal.h&gt;</a></i>,
<i><a href="systypes.h.html">&lt;sys/types.h&gt;</a></i>
and
<i><a href="time.h.html">&lt;time.h&gt;</a></i>.
</blockquote><h4><a name = "tag_000_007_793">&nbsp;</a>APPLICATION USAGE</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_007_794">&nbsp;</a>FUTURE DIRECTIONS</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_007_795">&nbsp;</a>SEE ALSO</h4><blockquote>
<i><a href="fcntl.h.html">&lt;fcntl.h&gt;</a></i>,
<i><a href="signal.h.html">&lt;signal.h&gt;</a></i>,
<i><a href="systypes.h.html">&lt;sys/types.h&gt;</a></i>,
<i><a href="time.h.html">&lt;time.h&gt;</a></i>.
</blockquote><hr size=2 noshade>
<center><font size=2>
UNIX &reg; is a registered Trademark of The Open Group.<br>
Copyright &copy; 1997 The Open Group
<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]

</font></center><hr size=2 noshade>
</body></html>
